package com.zatech.cgnci.project.service;

import com.zatech.cgnci.project.entity.CgnciReinsuranceInfoDO;
import com.zatech.cgnci.project.entity.CgnciReinsuranceRiskDO;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 分入分出险种表 服务类
 * </p>
 *
 * @author Generator
 * @since 2024-12-18
 */
public interface CgnciReinsuranceRiskService extends IService<CgnciReinsuranceRiskDO> {

    void deleteReinsuranceRiskForBusiness(Long reinsuranceRiskId, String type);

    /**
     * 删除分入分出险种
     *
     * @param reinsuranceType 类型(1-分入,3-临分分出)
     * @param businessId      业务id
     * @param riskSubTypeCode 险种代码
     */
    void deleteReinsuranceRisk(String reinsuranceType, Long businessId, String riskSubTypeCode);

    /**
     * 删除合约分出块
     *
     * @param reinsuranceType 类型(2-合约分出)
     * @param businessId      业务id
     * @param riskSubTypeCode 险种代码
     */
    void deleteHyReinsuranceRisk(String reinsuranceType, Long businessId, String riskSubTypeCode);

    /**
     * 删除分人方案/再保人险种
     *
     * @param reinsuranceInfoDO 分人/分出信息
     * @param riskSubTypeCode   险种代码
     * @param reinsurerId       再保人id
     */
    void deleteReinsurerRisk(CgnciReinsuranceInfoDO reinsuranceInfoDO, String riskSubTypeCode, Long reinsurerId);

    /**
     * 删除合约分出分项险种
     * @param reinsuranceRiskId 险种id
     */
    void deleteReinsuranceRiskForDivideOut(Long reinsuranceRiskId);
}
